/**
* 
* ====================================================================
*
* @author apov <apov@ymail.com>
*/ 
#pragma once

#include <BaseDefine.h>
#include "DBLibs.h"

class DBSession;
/**
* @class DBResultSet
*  - 
*/ 
class DBResultSet{
public:
	enum{
		DEF_RESULT_TYPE_SET,
		DEF_RESULT_TYPE_ROW,
	};

	virtual int next() = 0;
	virtual void reset() = 0;	

	virtual size_t getAffectedCount() = 0;		
	
	virtual char getByte() = 0;
	virtual short get2Byte() = 0;
	virtual int get4Byte() = 0;
	virtual __int64 get8Byte() = 0;
	virtual int getString( char* buffer, size_t size ) = 0;
	virtual int getMemory( char* buffer, size_t size ) = 0;
	virtual double getFloat() = 0;

	virtual int get_resultset_desc( void* handle, DBTableDescription& table_desc ) = 0;

	DBResultSet();
	virtual ~DBResultSet();

protected:

private:

};
